package cn.zebra.dev.admin.module.order.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Getter
@Setter
@ToString
public class VirtualOrdersListDTO {

    @TableId(type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("商家(店铺) id")
    private Long shopId;

    @ApiModelProperty("订单编号")
    private String ordersSn;

    @ApiModelProperty("订单类型(0:普通订单;6:虚拟订单)")
    private Integer ordersType;

    @ApiModelProperty("订单拥有者id")
    private Long ordersUserId;

    @ApiModelProperty("订单拥有者用户名")
    private String ordersUserName;

    @ApiModelProperty("订单标题")
    private String ordersTitle;

    @ApiModelProperty(value = "父订单(如无父订单则为0)")
    private Long parentId;

    @ApiModelProperty("总金额")
    private BigDecimal totalPrice;

    @ApiModelProperty("总积分")
    private Long totalPoint;

    @ApiModelProperty("总数量")
    private Long totalNum;

    @ApiModelProperty("订单备注")
    private String remark;

    @ApiModelProperty("订单状态(-10:已过期;-1:已取消;0:待付款;1:已付款;10:待发货;20:已发货;30:进行中;50:待评价;100:已完成)")
    private Integer ordersStatus;

    @ApiModelProperty("下单时间")
    private LocalDateTime createTime;

    @ApiModelProperty("支付时间")
    private LocalDateTime payTime;

    @ApiModelProperty("完成时间")
    private LocalDateTime fulfilTime;

    @ApiModelProperty("取消时间")
    private LocalDateTime cancelTime;

    @ApiModelProperty("其他时间")
    private LocalDateTime otherTime;

    @ApiModelProperty("过期时间")
    private LocalDateTime expiredTime;

    @ApiModelProperty(hidden = true)
    private Boolean deleteFlag;

    @ApiModelProperty(value = "订单商品详情明细")
    private List<OrderItemDTO> itemList;




}
